package com.xuetang9.fujian.studentdemo;

import java.util.List;

/**
 * @author: fujian
 * @description: DAO顶层接口，作为所有DAO接口的规范，定义了基础的CRUD操作方法
 * @date: 2021/5/18 14:59
 * @version: V1.0
 * @package: com.xuetang9.fujian.studentdemo
 **/
@SuppressWarnings("all")
public interface DAO<T>{
    /*
     * @Description: 将传入的对象，保存在数据库中，将对象类型的关系型数据-持久化到数据库
     * @param: t 要保存的对象信息
     * @return boolean 返回是否保存成功
     * @author: fujian
     * @date 2021/5/18 15:02
    */
    public boolean save(T t);
    /*
     * @Description: 根据传入的主键ID删除指定的行
     * @param: id 主键ID
     * @return boolean 删除是否成功
     * @author: fujian
     * @date 2021/5/18 15:04
    */
    public boolean delete(int id);
    /*
     * @Description: 更新数据
     * @param: t 传入需要进行更新信息的对象
     * @return boolean 返回是否更新成功
     * @author: fujian
     * @date 2021/5/18 15:04
    */
    public boolean update(T t);
    /*
     * @Description: 根据主键ID查询，返回对象信息
     * @param: id 主键ID
     * @return T 返回对象信息
     * @author: fujian
     * @date 2021/5/18 15:05
    */
    public T queryById(int id);
    /*
     * @Description: 查询所有信息
     * @param:
     * @return java.util.List<T>
     * @author: fujian
     * @date 2021/5/18 15:07
    */
    public List<T> queryAll();
}
